#!/usr/bin/perl
require "./ui.pl";
require "./manejoDatos.pl";
$stdin = "";
while ($stdin != 5){
	#system("clear");
	darBienvenida();
	mostrarMenu();
	$stdin=<STDIN>;
	if ($stdin == 1 || $stdin == 2){		
		$estadoFactura = pedirOpcionEstado();		
		$opcionSubtotales = pedirOpcionSubtotales();
		@asalida = pedirOpcionSalida();
		$opcionSalida = $asalida[0];
		$filenamecompleto = $asalida[1];
		$nombreArchivoSalida = $asalida[1];
		$filenamecompleto = "$ENV{'grupo'}/facturas/listados/$nombreArchivoSalida.txt";
		%hlistado;
		
		if ($stdin == 1){
			$fechaDesde= pedirFechaDesde();		
			$fechaHasta= pedirFechaHasta();
			%hlistado = listarPorRangoFechas($fechaDesde,$fechaHasta,$estadoFactura);
				
		}

		if ($stdin == 2){
			$montoDesde= pedirMontoDesde();		
			$montoHasta= pedirMontoHasta();	
			%hlistado = listarPorMonto($montoDesde,$montoHasta,$estadoFactura);
		}

		$tamanio_hash = keys %hlistado;	
		if($tamanio_hash == 0){
			print "La consulta no trajo resultados.\n";
		}
		else{
			mostrarResultadosConsulta($opcionSalida,$filenamecompleto,%hlistado);					
			if($opcionSubtotales eq "d" || $opcionSubtotales eq "t"){	
				%hdiario = obtenerDiario(%hlistado);
				 mostrarSubtotalDiario($opcionSalida,$filenamecompleto,%hdiario);
			}
			if($opcionSubtotales eq "s" || $opcionSubtotales eq "t"){
				%hsemanal = obtenerSemanal(%hlistado);
				 mostrarSubtotalSemanal($opcionSalida,$filenamecompleto,%hsemanal);
			}
			if($opcionSubtotales eq "m" || $opcionSubtotales eq "t"){
				%hmensual = obtenerMensual(%hlistado);		
				 mostrarSubtotalMensual($opcionSalida,$filenamecompleto,%hmensual);
			}
			if($opcionSubtotales eq "f" || $opcionSubtotales eq "t"){
				 $montoFinal = obtenerMontoTotal(%hlistado);
				 mostrarTotalFinal($opcionSalida,$filenamecompleto,$montoFinal);
			}		
		
		}

							


	}

	if ($stdin == 3){
		%hlistadoDisponibilidad = listarDisponibilidad();
		$tamanio_hash = keys %hlistadoDisponibilidad;
		if($tamanio_hash == 0){
			print "La consulta no trajo resultados.\n";
		}
		else{
			@asalida = pedirOpcionSalida();
			$opcionSalida = $asalida[0];
			$nombreArchivoSalida = $asalida[1];
			$filenamecompleto = "$ENV{'grupo'}/facturas/listados/$nombreArchivoSalida.txt";	
			mostrarResultadosConsultaDisponibilidad($opcionSalida,$filenamecompleto,%hlistadoDisponibilidad);
		}
	}
	
	if ($stdin == 4){	
		mostrarAyuda();	
	}  
	if($stdin != 1 && $stdin != 2 && $stdin != 3 && $stdin != 4 && $stdin != 5){
		informarComandoErroneo();
	}	 
}


